"""
1. 导包
2. 参数配置
3. 创建webdriver实例对象
4. 操作
5. 睡一会
6. 退出
"""
# 1. 导包
from appium import webdriver
from time import sleep

# 2. 参数配置
caps = {
    'platformName': 'Android',
    'platformVersion': '5.1.1',
    'deviceName': 'aaa',
    'appPackage': 'com.android.settings',
    'appActivity': '.Settings',
    'automationName': 'Uiautomator2'  # 获取toast的框架 我们要设置该参数
}
# 3. 创建webdriver实例对象
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',
                          desired_capabilities=caps)
# 4. 操作

# 关闭设置页面
driver.close_app()

# 开启 文件管理器
# com.cyanogenmod.filemanager/.activities.NavigationActivity
driver.start_activity(app_package='com.cyanogenmod.filemanager', app_activity='.activities.NavigationActivity')

# 为了获取 toast 要按一下 返回键
# sleep(1)
# 因为我们的程序 执行的比较快，手机反应的慢，所以可以通过sleep 来减缓我们的操作
driver.press_keycode(4)

# 我们应该通过 包含一些内容来获取元素
# 获取了元素之后，再获取元素的text
# sleep(2)
# NoSuchElementException
# toast_element=driver.find_element_by_xpath('//*[contains(@text,"再次")]')
# print(toast_element)

# 显示等待
from selenium.webdriver.support.wait import WebDriverWait

# 显示等待的代码
element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_xpath('//*[contains(@text,"再次")]'))
print(element.text)

# 5. 睡一会
sleep(4)
# 6. 退出
driver.quit()

"""
如果 大家拿到我的代码 运行 
appium server 也是以管理员身份运行
还定位不到 toast 就需要安装 一些东西

1. 安装node.js （使用 npm 或 node 验证）  ----已经安装过就不用安装了
    node-v8.11.3-x64.msi(windows) 或 node-v8.10.0.pkg(mac) 进行安装
2. 安装cnpm （使用cnpm验证）        --------cnpm 安装软件比较快
    npm install -g cnpm --registry=https://registry.npm.taobao.org
3. 下载 appium-uiautomator2-driver    
    cnpm install appium-uiautomator2-driver

"""
